test/javax/management/remote/rest/data/QueueSampler.java
author hb
Tue, 29 Aug 2017 13:34:15 +0530
branchjmx-rest-api
changeset 55985 0c5a02edfdef
permissions -rw-r--r--
REST Adapter Initial commit 1. Unit tested and working GET/POST interfaces 2. Unit tested and working JSON parser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55985
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     1
package javax.management.remote.rest.test.data;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     2
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     3
/*
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     4
 * QueueSampler.java - MXBean implementation for the QueueSampler MXBean.
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     5
 * This class must implement all the Java methods declared in the
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     6
 * QueueSamplerMXBean interface, with the appropriate behavior for each one.
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     7
 */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     8
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     9
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    10
import java.util.Date;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    11
import java.util.List;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    12
import java.util.Queue;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    13
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    14
public class QueueSampler implements QueueSamplerMXBean {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    15
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    16
    private Queue<String> queue;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    17
    private QueueSample sample;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    18
    private String name;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    19
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    20
    public QueueSampler(Queue<String> queue) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    21
        this.queue = queue;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    22
        synchronized (queue) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    23
            sample = new QueueSample(new Date(), queue.size(), queue.peek());
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    24
        }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    25
        name = "BoogeyMan";
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    26
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    27
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    28
    public QueueSample getQueueSample() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    29
        return sample;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    30
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    31
    
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    32
    public void clearQueue() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    33
        synchronized (queue) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    34
            queue.clear();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    35
        }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    36
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    37
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    38
    @Override
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    39
    public String[] testMethod1(int[] param2, String param1, int sd34, String[] param3, QueueSample[] param4, List<QueueSample> param5) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    40
        System.out.println("########## Invoke TestMethod1");
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    41
        return new String[]{"1","2","3","4","5"};
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    42
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    43
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    44
    @Override
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    45
    public void setQueueSample(QueueSample sample) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    46
        this.sample = sample;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    47
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    48
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    49
    @Override
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    50
    public String getQueueName() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    51
        return name;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    52
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    53
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    54
    @Override
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    55
    public void setQueueName(String name) {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    56
        this.name = name;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    57
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    58
}